Systems often contain logic or other circuitry that is reconfigured by loading new data and instructions. For example, in a typical computer system, application software is loaded into memory from hard-disk storage before it may be run on the computer""s microprocessor. Digital signal processors, programmable logic devices, application specific circuits, and other logic and processing devices may also be reconfigured before or at run time by loading desired data and instructions.
A problem with traditional electronic systems is that the bandwidth of the input/output (I/O) circuitry used to supply devices with new data and instructions may be fairly limited. Traditional electronic systems with high-bandwidth I/O capabilities may use I/O arrangements that are high in cost or that are quite complex.